1. Technical Field
This invention generally relates to interactions on the world-wide web, and more specifically relates to an apparatus and method that allows a web user to interact with a software application on another computer system that is accessible via the world-wide web.
2. Background Art
The development of the EDVAC computer system of 1948 is often cited as the beginning of the computer era. Since that time, computer systems have evolved into extremely sophisticated devices, and computer systems may be found in many different settings. Computer systems typically include a combination of hardware (e.g., semiconductors, circuit boards, etc.) and software (e.g., computer programs). As advances in semiconductor processing and computer architecture push the performance of the computer hardware higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems today that are much more powerful that just a few years ago.
Computer systems typically include operating system software that control the basic function of the computer, and one or more software applications that run under the control of the operating system to perform desired tasks. For example, a typical IBM Personal Computer may run the OS/2 operating system, and under the control of the OS/2 operating system, a user may execute an application program, such as a word processor. As the capabilities of computer systems have increased, the software applications designed for high performance computer systems have become extremely powerful.
Other changes in technology have also profoundly affected how we use computers. For example, the widespread proliferation of computers prompted the development of computer networks that allow computers to communicate with each other. With the introduction of the personal computer (PC), computing became accessible to large numbers of people. Networks for personal computers were developed to allow individual users to communicate with each other. In this manner, a large number of people within a company could communicate at the same time with a software application running on one computer system.
One significant computer network that has recently become very popular is the Internet. The Internet grew out of the modern proliferation of computers and networks, and has evolved into a sophisticated worldwide network of computer systems linked together by web pages that collectively make up the “world-wide web”, or WWW. A user at an individual PC (i.e., workstation) that wishes to access the WWW typically does so using a software application known as a web browser. A web browser makes a connection via the WWW to other computers known as web servers, and receives information from the web servers that is displayed on the user's workstation. Information displayed to the user is typically organized into pages that are constructed using a specialized language called Hypertext Markup Language (HTML).
With the growing popularity of the Internet and the WWW, businesses have recognized that the Internet provides a new way to boost both sales and efficiency. If a user with a web browser can interact directly with a company's application software, the transaction will be simplified. Unfortunately, interaction between the application software running complex processes and a multitude of web browser users can lead to problems. For example, in some cases the web server system will need to be shut down while the software application is in the middle of a complex process. This can occur where maintenance of the server is required, or where conditions cause the system to fail. This can leave the software application in the middle of a process without the ability to restart or finish the process.
Another time this problem can occur is where input is required from a web browser user. For example, a web page may request the users name in an HTML form and require the user to select a particular function using an HTML radio button. These requests are sent to the web browser from the web server. The web user then enters the requested information and resubmits the data back to the web server, which then parses the inputted information from the data stream. Unfortunately, the user may not answer the input request immediately. In fact, it is foreseeable that a user may wait several days before submitting the input or may disconnect without ever completing the transaction. Keeping a process active and waiting for input when the input may be delayed or never provided needlessly uses processing resources of the web server. Additionally, if the process terminates while waiting the process will have to start again at the beginning.
In both these cases the ability to direct and interact with complex software processes remotely through web browsers is severely compromised. Without improved methods of communicating between software applications and computers on the world-wide web, the ability the to use web browsers and the world-wide web as a tool for business is limited.